Repository Public
1import type { Metadata } from "next";2import { Freshness, LiveBoard } from "@/components/live/LiveBoard";3import { boardNodes } from "@/components/live/board-nodes";4import { nodes } from "@/lib/data";5import { getDict, type Locale } from "@/lib/i18n";6import { pageMetadata } from "@/lib/seo";78type Props = { params: Promise<{ locale: Locale }> };910export async function generateMetadata({ params }: Props): Promise<Metadata> {11 return pageMetadata((await params).locale, "live", "/live");12}1314export default async function LivePage({ params }: Props) {15 const { locale } = await params;16 const t = getDict(locale);17 return (18 <>19 <header className="shell pb-8 pt-10 md:pb-10 md:pt-16">20 <div className="flex flex-wrap items-center justify-between gap-4">21 <p className="eyebrow">{t.live.eyebrow}</p>22 <Freshness locale={locale} />23 </div>24 <h1 className="display mt-5 text-[clamp(2.25rem,1.2rem+4.6vw,4.5rem)]">{t.live.title}</h1>25 <p className="prose-tech mt-5">{t.live.intro}</p>26 </header>27 <div className="shell"><LiveBoard nodes={boardNodes(nodes, t)} locale={locale} /></div>28 </>29 );30}31